package com.clstu.writer_;

/***
 * //主要靠这个案例理解修饰器设计模式
 */
public class Test_ {
    public static void main(String[] args) {
        BufferedReader_ bufferedReader_ = new BufferedReader_(new FileReader_());
        //使用BufferedReader_ 的主要好处就是利用的多态进行同一的管理，很多的不同的类可以用统一的BufferedReader_类来调用方法来分别调用。
        bufferedReader_.read();
        bufferedReader_.reads(10);
        bufferedReader_.read();//根据动态绑定机制找到运行类型的方法，怎么实现的就怎么执行

        //写成同一的read()方法，这个问题就不会出现了
//        bufferedReader_.readString();//因为传入的不是StringReader_对象，所以最后执行的是Reader_中的空方法
//                                   //  但是语法不会报错
    }
}
